﻿using System;


namespace DailyFx.Book
{

    public interface ITable : IDisposable
    {
		/// <summary>
		///     Gets the Book who owns this table 
		/// </summary>
		IBook Book { get; }

		/// <summary>
		///		Gets the table label .
		/// </summary>
		String Label { get; }

		/// <summary>
		///		Gets the table metrics .
		/// </summary>
		Metrics Metrics { get; }

		
		/// <summary>
		/// 
		/// </summary>
		IRow getRow ( DateTime key );

		/// <summary>
		/// 
		/// </summary>
		void  setRow ( /*DateTime key,*/ IRow row );
 
		/// <summary>
		/// 
		/// </summary>
		void dropRow ( DateTime key );

		/// <summary>
		///		
		/// </summary>
		IRouter populateRouter ( DateTime start, DateTime end );

		/// <summary>
		///     Commits the table modified records'into book repository .
		/// </summary>
		void applyChanges ();

		
    }
}
